Effective leveraging of solid-state disk drives as a data cache is dependent on accurate detection and retention of frequently accessed data. A challenging aspect is to find the frequently accessed data by observing only a stream of host commands coming to a controller of a redundant array of independent disks. Once detected, the data is loaded into the cache for higher performance on subsequent requests. However, if the data is infrequently accessed, cache space is wasted and performance is negatively impacted because loading the infrequently accessed data into the cache represents additional operations.